Qt_01 介绍与跨平台基本环境搭建

由于 Qt 支持跨平台开发,开发者可以在一个平台上完成应用程序的开发,并在其他不同的平台上编译部署,因此需要学习者掌握在各个不同的平台上搭建 Qt 开发环境.

视频

1 Qt 介绍

1.1 什么是 Qt?

一个跨平台的 c++ 和 GUI 开发框架。

1.2 Qt 的历史

  • 1991 年,Haavard NordEirik Chambe-Eng 开始合作开发 Qt
  • 1992 年,Eirik 提出了“信号与槽”的设想
  • 1996 年,Qt 1.0 发布
  • 2000 年,Qt 嵌入式版本发布
  • 2008 年,Nokia 收购 TrollTech
  • 2009 年,Qt Creator 发布
  • 2010 年,Qt Quick 发布
  • 2012 年,Digia 公司收购 Qt

1.3 为什么选择 Qt ?

  • Qt 拥有
    一个模块化的 c++ 类库
    Qt Creator - 集成开发环境
    Qt Designer - 所见即所得的设计工具
    Qt Assistant - 文档查询工具
    Qt Linguist - 语言转换等本地化支持

  • 跨平台:一次编写,到处部署
    Qt 支持的平台:
    windows/ OS X/ Linux
    Android/ iOS / WP 等移动设备操作系统
    嵌入式操作系统 等

QtEveryWhere
只需一次开发,就可跨不同桌面和嵌入式系统部署
使用单一源代码库定位多个操作系统
开发者无需在 API 上花费太多精力

  • 其它优势与特性
    丰富易用的开发工具
    Qt Creator
    Qt Designer
    优美的信号槽机制
    Qt 很容易扩展,并且允许真正的组件编程

1.4 Qt 前景

Qt vs MFC

优势
Qt 开发效率高
容易上手
简化的内存回收机制

不足
界面效果依赖本地引擎
信号槽机制比回调慢(由于类型检查与参数安全)
国际化需要手动指定编码

Qt 授权协议

开源协议
为开源开发和开发者提供自由

商业授权
适用于不同需求的多重价格模式

应用举例

2 Qt 学习入门

2.1 学习 Qt 需要具备的知识

Qt 入门需求

  • 了解 c++
  • 会使用循环,判断,选择,顺序等基本语法

进阶需求

  • 熟悉 c++ 的 OOP 特性
  • 熟悉 c++ 的疯转,继承和多态
  • 熟悉 c++ 模版
  • 会使用容器(vector、set、map等)
  • 熟悉 c++ 内存管理,可灵活使用指针

高级需求

  • 熟悉使用 c++
  • 熟悉 c++ 11 语法
  • 了解 Qt 的元对象系统

2.2 如何更好地学习 Qt

学习之前

  • 了解 c++
  • 了解 Qt,知道 Qt 是什么

高效学习

  • 学会使用 Qt 文档
  • 熟练使用开发工具与 Qt 的 GUI 组件
  • 代码书写规范

多做,多问(最重要的一点)

2.3 为什么要使用跨平台

Qt 跨平台与其他语言的区别
一次编写,多处编译部署。

3 Windows 桌面基本开发环境搭建

本课时会详细演示 Windows 平台下的 Qt 桌面开发环境搭建,Windows 下的 Android 与 Windows Phone 开发环境我们会在后面的课程中演示.

4 OS X 桌面基本开发环境搭建

本课时我们会详细演示 OS X 平台下的 Qt 桌面开发环境搭建,另外 OS X 下 iOS 与 Android 的环境搭建我们会在后面的课程中再演示.

依赖

xcode

安装目录

/Applications/Qt,安装在别的地方在 launchpad 中看不到图标。

环境变量

~/.bash_profile

1
2
3
export QTDIR=/Applications/Qt/5.8/clang_64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
export PATH=$PATH:$QTDIR/bin

5 Linux 桌面基本开发环境搭建

依赖 g++